Control unit and control lines (cont.)

Note: in the textbook there is a table (see below) that has information on control circuitry (do NOT need to memorize for final exam).

Additional terminology:

Control line functions:

ALU control unit:

Example: Control line values for sw instruction

sw $s0, 12($t6)

Control lines for the above instruction will have the following values:

The "don't care" conditions are relevant in the following example scenarios:

CPU design approaches

  1. Single-cycle: 1 instruction per cycle
    • Bad because instructions take different time to execute
    • Can only choose one clock speed, so every clock cycle needs to take at least as long as the longest-running instruction (ends up being very slow)
  2. Multi-cycle: different instructions take different numbers of cycles
    • Good because we can differentiate between short-running and long-running instructions
    • But we can do better - still some inefficiencies
  3. Pipelining
    • Idea: start working on next instruction while processing previous instruction